package com.codegeek.project.slope.mapper;

import com.codegeek.project.slope.domain.SlopeAlarm;
import java.util.List;
import java.util.Map;

/**
 * 告警记录Mapper接口
 *
 * @author codegeek
 * @date 2020-02-17
 */
public interface SlopeAlarmMapper
{
    /**
     * 查询告警记录
     *
     * @param alarmId 告警记录ID
     * @return 告警记录
     */
    public SlopeAlarm selectSlopeAlarmById(Long alarmId);

    /**
     * 查询告警记录列表
     *
     * @param slopeAlarm 告警记录
     * @return 告警记录集合
     */
    public List<SlopeAlarm> selectSlopeAlarmList(SlopeAlarm slopeAlarm);

    /**
     * 新增告警记录
     *
     * @param slopeAlarm 告警记录
     * @return 结果
     */
    public int insertSlopeAlarm(SlopeAlarm slopeAlarm);

    /**
     * 修改告警记录
     *
     * @param slopeAlarm 告警记录
     * @return 结果
     */
    public int updateSlopeAlarm(SlopeAlarm slopeAlarm);

    /**
     * 删除告警记录
     *
     * @param alarmId 告警记录ID
     * @return 结果
     */
    public int deleteSlopeAlarmById(Long alarmId);

    /**
     * 批量删除告警记录
     *
     * @param alarmIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteSlopeAlarmByIds(Long[] alarmIds);

    /**
     * 首页预警分类统计
     */
    public List<Map<String, Object>> countSlopeAlarmLevel();

    /**
     * 告警处理
     */
    public int changeAlarmStatusById(SlopeAlarm slopeAlarm);

    /**
     * 告警批量处理
     */
    public int changSelectedAlarmStatus(Long[] ids);
    /**
     * 根据告警等级获取列表
     */
    public List<SlopeAlarm> selectAlarmListByLevel(Integer alarmLevel);
}
